During data backup, to reduce network traffic and server workload, a cache typically needs to be created to record data that is backed up. For example, a cache file may be created and stored at a backup client, in which the backed-up file data is recorded. When the backup client starts a backup job, the backup client may first check the cache file to find the backed-up file data. Because the cache file is stored locally at the client, the checking of the cache file can avoid a checking request to be sent to the backup server over a network, thereby reducing the network traffic. Meanwhile, the workload to find the existing file data may be avoided to be increased at the server.
The cache file may be created as an empty file initially. Therefore, for the first data backup, there will be no hit of the existing file data in the cache file. When a subsequent backup job starts, the new backup job may add information associated with the newly backed-up file data (such as a hash value) to the cache file. Thus, content of the cache file may be filled gradually.
Conventionally, if the cache file is corrupted, for example, a backed-up data section is not correctly recorded in the cache file, the cache file will be considered to be corrupted. Then, it is not possible to find the backed-up data. If the cache file is unavailable, the full data backup will be performed, which may take a long time. It may take ten times longer to complete the full data backup than the data backup using the cache file. This situation may often occur during the data backup, which influences user experience severely.